#!/usr/bin/env node

const inquirer = require('inquirer')
const path = require('path')
const fs = require('fs')
const ejs = require('ejs')

inquirer.prompt([
  {
    type:'input',
    name:'name',
    message:'project name?'
  }
]).then(answers => {
  //模板目录
  //_dirname是项目当前目录,process.cwd是命令行执行的目录
  const tmplDir = path.join(_dirname,'templates')
  const destDir = process.cwd()

  //将模板目录的文件写入到目标目录中
  //fs.readdir用于读取目录下的所有文件
  //ejs.renderFile方法参数:1.绝对路径 2.渲染参数 3.回调函数
  fs.readdir(tmplDir,(err,files)=>{
    if(err) throw err
    files.forEach(item=>{
      ejs.renderFile(path.join(tmplDir,item),answers,(err,res)=>{
        if (err) throw err
        fs.writeFileSync(path.join(destDir,item),res)
      })
    })
  })
})